package com.dev.security.login.service.filters;

import org.apache.commons.lang3.StringUtils;

import com.dev.security.login.beans.LoginUser;
import com.dev.security.login.service.ValidateFilter;
import com.dev.security.login.service.ValidateInvocation;
import com.dev.security.login.util.LoginConstants;
/**
 * root用户有所有权限
 * @author <b>DEVILIVED</b>
 * <br/>E-Mail：3375758@qq.com
 * <br/>创建时间： 2014年6月28日 下午10:29:52 
 * @version V1.0
 */
public class RootFilter implements ValidateFilter {

	@Override
	public int filter(ValidateInvocation invoc) {
		LoginUser user = invoc.getLoginUser();
		if(StringUtils.equalsIgnoreCase("root", invoc.getLoginUser().getUserAccount())) {
			return LoginConstants.VALIDATE_TRANSIT;
		}
		//资源是root类型
		if(StringUtils.endsWithIgnoreCase(
				LoginConstants.TYPE_NEED_ROOT, invoc.getLoginSource().getType())) {
			if(!StringUtils.endsWithIgnoreCase("root", user.getUserAccount())) {
				return LoginConstants.VALIDATE_NOT_ROOT;
			}
		}
		return invoc.invoke();
	}

}
